﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace wms_wpf.InPut
{
    public class Ess_Input_Client
    {

        public string taskType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string taskGroupCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int? groupPriority { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<Tasks> tasks { get; set; }
    }
    public class Tasks
    {
        /// <summary>
        /// 
        /// </summary>
        public string taskCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int taskPriority { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public TaskDescribe taskDescribe { get; set; }
    }
    public class TaskDescribe
    {
        /// <summary>
        /// 
        /// </summary>
        public string containerCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string containerType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string storageTag { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string fromLocationCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string toStationCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string toLocationCode { get; set; }

        public bool isPutaway { get; set; }

    }
    public class Ess_Input2_Client
    {
        public string slotCode { get; set; }
        public string containerCode { get;set; }
        public string direction { get; set; }
    }
    public class Ess_Input3_Client
    {
        public string slotCode { get; set; }
    }
    public class Ess_Input4_Client
    {
        public string controllerCode { get; set; }
        public string index { get; set; }

        public string tagCode { get; set; }

        public string color { get; set; }

        public string mode { get; set; }

        public string rank { get; set; }
        public string display { get; set; }
    }
    public class Ess_InPut5_Client
    {
        public string? TaskType { get; set; }
        public string BoxCode { get; set; }
        public string? SlotCode { get; set; }
        public string? Direction { get; set; }
        public bool? IsEss { get; set; }

    }
    public class InPut_EssService
    {
        public string? taskCode { get; set; }//任务号
        public string? eventType { get; set; }//任务类型
                                              //1.task：上报任务状态
                                              //2.task_allocated: 上报任务  分配给机器人
                                              //3.tote_load：上报取箱状态
                                              //4.tote_unload：上报放箱状态
                                              //5.robot_reach：机器人到达工作站
                                              //6.weight：称重事件回调
                                              //7.rfid：RFID 识别事件回调
        public string? status { get; set; }//success：成功 fail：失败cancel：取消suspend：挂起
        public string? containerCode { get; set; }//容器编号
        public string? locationCode { get; set; }//工作位编码
        public string? robotCode { get; set; }//机器人编码
        public string? stationCode { get; set; }//工作站编码
        public string? message { get; set; }//信息
        public string? isLocationHasContainer { get; set; }//库位是否有容器，盘点任务才有该返回值
        public string? isContainerOnLocationMatchRecord { get; set; }//

    }

    public class Ess_Input5
    {
        public List<string> containerCodes { get; set; } = new List<string>();
    }
}

